<?php

require_once 'integrante_del_sistema.php';

class Usuario extends IntegranteDelSistema {
	private $rut;
	private $apellido_paterno;
	private $apellido_materno;

	function __construct() {
		parent::__construct();
	}

	function load( $nickname) {
		unset( $this->error);
		
		$query = "SELECT * FROM Operacion NATURAL LEFT JOIN Categoria_Op WHERE Op_nick = '$nickname';";
		$resultado = $GLOBALS['mysql_connection']->query( $query);
		
		if( $resultado == NULL || $resultado->num_rows == 0) {
			$this->error = 'El usuario no se encuentra registrado';
			return false;
		}

		$row = $resultado->fetch_array();

		if( empty($row)) {
			$this->error = 'El usuario no se encuentra registrado.';
			return false;
		}
		unset($query);

		$this->nickname = $nickname;
		$this->nombres = $row['Op_nom'];
		$this->password = $row['Op_pas'];
		$this->email = $row['Op_mail'];
		$this->id = $row['Op_id'];
	
		$this->rut = $row['Op_rut'];
		$this->apellido_paterno = $row['Op_apepat'];
		$this->apellido_materno = $row['Op_apemat'];

		$this->tipo = $row['CatOp_descrip'];

		return true;
	}

	function check_user( $nickname, $password) {
		if( !$this->load( $nickname)) false;

		if( $this->password != $password) {
			$this->error = 'Usuario o Password incorrecto.';
			return false;
		}
		return true;
	}

	function get_rut() { return $this->rut; }
	function get_appat() { return $this->apellido_paterno; }
	function get_apmat() { return $this->apellido_materno; }

	function edit( $user_data = array()) {
		$query = "UPDATE Operacion 
			  SET Op_apepat = '".$user_data['apellido_paterno']."',
			  Op_apemat = '".$user_data['apellido_materno']."'
			  WHERE Op_rut = ".$user_data['rut'];
		$resultado = $GLOBALS['mysql_connection']->query( $query);
		return true;
	}

	function get_perfil(){
		$query = "SELECT * FROM Categoria_Op";	
		$resultado = $GLOBALS['mysql_connection']->query( $query);
		
		if( $resultado == NULL || $resultado->num_rows == 0) {
			$this->error = 'Categoria de usuario no encontrado';
			return false;
		}
		
		$lista = array();
		while($row = $resultado->fetch_array( MYSQL_ASSOC)){
			$lista[]=$row;
		}
		return $lista;
	}
	
	function insert($user_data = array()){
		$query = "INSERT INTO Operacion (
					Op_rut, Op_nick, Op_nom, 
					CatOp_id, Op_apepat, Op_apemat,
					Op_pas, Op_mail) 
				VALUES ('".$user_data['rut']."',
					'".$user_data['nick']."',
					'".$user_data['nom']."',
					'".$user_data['tipo']."',
					'".$user_data['ap_pat']."',
					'".$user_data['ap_mat']."',
					'".$user_data['pass']."',
					'".$user_data['email']."')";
		$resultado = $GLOBALS['mysql_connection']->query( $query);
		return true;
	}
}
